
package com.dhcc.bpm.modules.orga.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;

import java.util.Date;

/**
 * @ClassName TestApply
 * @Description 测试申请审批表实体类
 * @Author daina
 * @Date 2020/2/24 19:25
 * @Version V1.0
 * @Copyright: 2020 东华软件 . All rights reserved.
 */
@Data
@TableName("opc_test_apply")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "TestApply对象", description = "测试申请审批表")
public class TestApply extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 机构ID (关联opc_orga表ID)
     */
    @JsonSerialize(
            using = ToStringSerializer.class,
            nullsUsing = NullSerializer.class
    )
    @ApiModelProperty(value = "机构ID (关联opc_orga表ID)")
    private Long orgaId;
    /**
     * 渠道ID (关联opc_app表ID)
     */
    @JsonSerialize(
            using = ToStringSerializer.class,
            nullsUsing = NullSerializer.class
    )
    @ApiModelProperty(value = "渠道ID (关联opc_app表ID)")
    private Long appId;
    /**
     * 申请测试开始时间
     */
    @ApiModelProperty(value = "申请测试开始时间")
    private Date testBeginTime;
    /**
     * 申请测试结束时间
     */
    @ApiModelProperty(value = "申请测试结束时间")
    private Date testEndTime;
    /**
     * 测试类型
     */
    @ApiModelProperty(value = "测试类型")
    private String testType;
    /**
     * 申请说明
     */
    @ApiModelProperty(value = "申请说明")
    private String applyMsg;
    /**
     * 签名算法
     */
    @ApiModelProperty(value = "签名算法")
    private String signAlg;
    /**
     * 审批人员
     */
    @ApiModelProperty(value = "审批人员")
    private String approveOfficer;
    /**
     * 审批时间
     */
    @ApiModelProperty(value = "审批时间")
    private Date approveTime;
    /**
     * 审批状态
     */
    @ApiModelProperty(value = "审批状态")
    private String approveStatus;
    /**
     * 审批意见
     */
    @ApiModelProperty(value = "审批意见")
    private String approveOpinion;
    /**
     * 描述
     */
    @ApiModelProperty(value = "描述")
//    @TableField(value = "`describe`")
    private String describe;

    /**
     * 用户申请流量
     */
    @ApiModelProperty(value = "用户申请流量")
    private String currentLimit;
    /**
     * 申请流量
     */
    @ApiModelProperty(value = "申请流量")
    private String applyFlow;
    /**
     * 管理员批准流量
     */
    @ApiModelProperty(value = "管理员批准流量")
    private String approvalFlow;
    /**
     * 流量周期
     */
    @ApiModelProperty(value = "流量周期")
    private String flowCycle;
    /**
     * 访问策略枚举值
     */
    @ApiModelProperty(value = "访问策略枚举值(1:访问频率 2：访问次数)")
    private String accessPolicy;
//    /**
//     * 访问次数
//     */
//    @ApiModelProperty(value = "访问次数")
//    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
//    private long accessNum;
    /**
     * 并发数
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    @ApiModelProperty(value = "并发数")
    private Long applyQps;
    /**
     * 用户申请每日访问量
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    @ApiModelProperty(value = "用户申请每日访问量")
    private Long approvalQps;
    /**
     * ip地址
     */
    @ApiModelProperty(value = "ip地址")
    private String ip;
    /**
     * 支付账号
     */
    @ApiModelProperty(value = "支付账号")
    private String payAccount;

    /**
     * 开始时间新
     */
    @ApiModelProperty(value = "开始时间新")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date BeginTimeNew;
    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date EndTimeNew;
    /**
     * 导出数据标识
     */
    @ApiModelProperty(value = "导出数据标识")
    @JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
    private String expSeq;
}
